iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0

昨天整理出了系統的功能清單與角色權限,今天要將這些需求轉成資料庫的核心。

遵循最小可行性的原則,將圖書管理系統由三張資料表組成:books(書籍)、members(會員)與 loans(借閱紀錄)。

資料表設計與分工

  1. 書籍表
    儲存圖書館內所有書籍的基本資料與庫存狀態。
    • 欄位:書籍 ID、書名、作者、ISBN、出版年份、分類、總數量、剩餘可借數量。
  2. 會員表:
    儲存使用者的帳號資訊與權限角色。
    • 欄位:會員 ID、姓名、Email(兼帳號)、密碼(雜湊值)、角色權限(一般使用者 / 管理員)、註冊時間。
  3. 借閱紀錄表:
    作為「書籍」與「會員」之間的橋樑(多對多關係的關聯表),記錄誰在什麼時候借了哪本書。
    • 欄位:借閱紀錄 ID、會員 ID(外鍵)、書籍 ID(外鍵)、借出日期、應還日期、實際歸還日期、狀態(借出中 / 已歸還)。

三張表之間的關聯

關聯表

使用 ChatGPT 輔助繪製的圖

  • 會員與借閱:1 對多(1:N),一位會員可以借閱多本書,產生多筆借閱紀錄。
  • 書籍與借閱:1 對多(1:N),一本書可以被不同人多次借閱,產生多筆借閱紀錄。

訂好三張表的功能與關聯後,明天會討論每個欄位的資料型別該如何選擇,才能兼顧效能與儲存空間。


上一篇
Day 5 功能清單
下一篇
Day 7 欄位型態怎麼定
系列文
從零打造圖書管理系統:WSL2 × MySQL × Claude Code 的整合實作 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言